/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package newpeer;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

/**
 *
 * @author Administrador
 */
public class PanelBotonesAcciones extends JPanel implements ActionListener {

    public static final String BUSCAR_ARCHIVOS = "BUSCAR_ARCHIVO";
    public static final String COMPARTIR_ARCHIVO = "COMPARTIR_ARCHIVO";
    private JButton botonBuscarArchivos;
    private JButton botonCompartirArchivos;
    private Peer padre;


    public PanelBotonesAcciones(Peer aThis) {
        this.padre = aThis;
        this.setLayout(new GridLayout(2, 1, 4, 10));

        this.botonBuscarArchivos = new JButton("Buscar Archivos");
        this.botonBuscarArchivos.addActionListener(this);
        this.botonBuscarArchivos.setActionCommand(BUSCAR_ARCHIVOS);
        this.botonCompartirArchivos = new JButton("Compartir un archivo");
        this.botonCompartirArchivos.addActionListener(this);
        this.botonCompartirArchivos.setActionCommand(COMPARTIR_ARCHIVO);


        this.add(botonBuscarArchivos);
        this.add(botonCompartirArchivos);
    }

    public void actionPerformed(ActionEvent e) {
        String comando = e.getActionCommand();
        if (comando.equals(PanelBotonesAcciones.COMPARTIR_ARCHIVO)) {
            //TODO abrir Diálogo para selección de archivos
            DialogoSeleccionArchivo dial = new DialogoSeleccionArchivo();
            int resultado = dial.showOpenDialog(this);

            if (resultado == JFileChooser.APPROVE_OPTION) {
                File archivo = dial.getSelectedFile();
                //String rutaArchivo = archivo.getAbsolutePath();
                try {
                    this.padre.compartirArchivo(archivo);
                } catch (IOException ex) {
                    ex.printStackTrace();
                    JOptionPane.showMessageDialog(padre,"Error al compartir el archivo", "Error",JOptionPane.ERROR_MESSAGE);
                }
            }

        }
        else if (comando.equals(PanelBotonesAcciones.BUSCAR_ARCHIVOS)) {
                //TODO construir diálogo de búsqueda y deshabilitar botón de búsqueda
                //this.deshabilitarBusqueda();
                DialogoBusquedaArchivos dialo=new DialogoBusquedaArchivos(padre,this);
                dialo.setVisible(true);
            }
    }

    public void habilitarBusqueda() {
        this.botonBuscarArchivos.setEnabled(true);
    }

    public void deshabilitarBusqueda() {
        this.botonBuscarArchivos.setEnabled(false);
    }
}
